function tests(fs,names,as,bs,jmax,nmin,nmax,mmax,Is)

n=numel(fs);
fehlerr=zeros(n,max(jmax));
fehlerq=fehlerr;
fehlerql=fehlerr;
fehlerqgk=fehlerr;

nr=zeros(n,max(jmax));
nq=nr;
nql=nr;
nqgk=nr;


for i=1:n
    js=1:jmax(i);
    eps=10.^(-js);
    for j=js
        [I,in]=romberg(fs{i},as(i),bs(i),eps(j),nmin(i),nmax(i),mmax(i),true);
        fehlerr(i,j)=abs(I-Is(i));
        nr(i,j)=2^in;
        
        resetcount;
        I=quad(@(x) callandcount(fs{i},x),as(i),bs(i),eps(j));
        fehlerq(i,j)=abs(I-Is(i));
        nq(i,j)=howmany;
        
        resetcount;
        I=quadl(@(x) callandcount(fs{i},x),as(i),bs(i),eps(j));
        fehlerql(i,j)=abs(I-Is(i));
        nql(i,j)=howmany;
        
        resetcount;
        I=quadgk(@(x) callandcount(fs{i},x),as(i),bs(i),'AbsTol',eps(j),'RelTol',0,'MaxIntervalCount',2^(nmax(i)));
        fehlerqgk(i,j)=abs(I-Is(i));
        nqgk(i,j)=howmany;
        resetcount;
        
        if(fehlerr(i,j) > eps(j) || fehlerq(i,j) > eps(j) || fehlerql(i,j) > eps(j) || fehlerqgk(i,j) > eps(j))
            'Achtung!!! Fehlerschranke nicht erreicht!!!'
            names{i}
            fehlerr(i,j)
            fehlerq(i,j)
            fehlerql(i,j)
            fehlerqgk(i,j)
            eps(j)
        end
    end
        

    figure;
    loglog(eps,nr(i,:),'r.-',eps,nq(i,:),'ko-',eps,nql(i,:),'yx-',eps,nqgk(i,:),'g+-');
    title(names{i});
    xlabel('Vorgegebene Schranke');
    ylabel('Anzahl der Auswertungen');
    legend('romberg','quad','quadl','quadgk');
    print('-dpng', strcat('../graphics/', names{i}));
    close
    
end




end

function resetcount
global count
count=0;
end

function y = callandcount(f,x)
global count
count = count+numel(x);
y=f(x);
end

function n = howmany
global count
n = count;
end
